package com.github.fashionbrot.util;

import java.util.Calendar;
import java.util.Date;

public class DateUtil {

    public static boolean isDateBetweenInclusive(Date dateToCheck, Date startDate, Date endDate) {
        return !(dateToCheck.before(startDate) || dateToCheck.after(endDate));
    }


    /**
     * 将指定的小时数添加到给定的日期。
     * @param date 要添加小时数的日期
     * @param hoursToAdd 要添加的小时数
     * @return 带有添加小时数后的新 {@code Date} 对象
     */
    public static Date addHours(Date date, int hoursToAdd) {
        return setCalendar(date, Calendar.HOUR_OF_DAY, hoursToAdd);
    }

    /**
     * 设置给定日期的指定日历字段（例如，SECOND，MINUTE，HOUR_OF_DAY）为给定的值。
     * @param date 要修改的日期
     * @param field 要修改的日历字段
     * @param amount 字段的新值
     * @return 带有修改后的日历字段值的新 {@code Date} 对象
     */
    public static Date setCalendar(Date date,int field,int amount) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(field, amount);
        return calendar.getTime();
    }

}
